﻿using Abp.Authorization;
using Abp.Localization;
using Abp.MultiTenancy;

namespace SingleUserMall.Authorization
{
    public class SingleUserMallAuthorizationProvider : AuthorizationProvider
    {
        public override void SetPermissions(IPermissionDefinitionContext context)
        {
            context.CreatePermission(PermissionNames.index, GetLocalizableString(PermissionNames.index));
            context.CreatePermission(PermissionNames.user, GetLocalizableString(PermissionNames.user));
            context.CreatePermission(PermissionNames.user_admins, GetLocalizableString(PermissionNames.user_admins));
            context.CreatePermission(PermissionNames.user_users, GetLocalizableString(PermissionNames.user_users));
            context.CreatePermission(PermissionNames.user_user, GetLocalizableString(PermissionNames.user_user));
            context.CreatePermission(PermissionNames.user_userCashs, GetLocalizableString(PermissionNames.user_userCashs));
            context.CreatePermission(PermissionNames.user_wallet, GetLocalizableString(PermissionNames.user_wallet));
            context.CreatePermission(PermissionNames.user_walletdetail, GetLocalizableString(PermissionNames.user_walletdetail));
            context.CreatePermission(PermissionNames.user_userDividen, GetLocalizableString(PermissionNames.user_userDividen));
            context.CreatePermission(PermissionNames.user_userDividenDetail, GetLocalizableString(PermissionNames.user_userDividenDetail));
            context.CreatePermission(PermissionNames.role, GetLocalizableString(PermissionNames.role));
            context.CreatePermission(PermissionNames.role_roles, GetLocalizableString(PermissionNames.role_roles));
            context.CreatePermission(PermissionNames.role_role, GetLocalizableString(PermissionNames.role_role));
            context.CreatePermission(PermissionNames.store, GetLocalizableString(PermissionNames.store));
            context.CreatePermission(PermissionNames.store_stores, GetLocalizableString(PermissionNames.store_stores));
            context.CreatePermission(PermissionNames.store_verifystores, GetLocalizableString(PermissionNames.store_verifystores));
            context.CreatePermission(PermissionNames.store_verifybalancestores, GetLocalizableString(PermissionNames.store_verifybalancestores));
            context.CreatePermission(PermissionNames.mall, GetLocalizableString(PermissionNames.mall));
            context.CreatePermission(PermissionNames.mall_items, GetLocalizableString(PermissionNames.mall_items));
            context.CreatePermission(PermissionNames.mall_pointsitems, GetLocalizableString(PermissionNames.mall_pointsitems));
            context.CreatePermission(PermissionNames.mall_item, GetLocalizableString(PermissionNames.mall_item));
            context.CreatePermission(PermissionNames.mall_itemcategories, GetLocalizableString(PermissionNames.mall_itemcategories));
            context.CreatePermission(PermissionNames.mall_recommendcategories, GetLocalizableString(PermissionNames.mall_recommendcategories));
            context.CreatePermission(PermissionNames.mall_banners, GetLocalizableString(PermissionNames.mall_banners));
            context.CreatePermission(PermissionNames.store_businessScope, GetLocalizableString(PermissionNames.store_businessScope));
            context.CreatePermission(PermissionNames.store_register, GetLocalizableString(PermissionNames.store_register));
            context.CreatePermission(PermissionNames.order, GetLocalizableString(PermissionNames.order));
            context.CreatePermission(PermissionNames.order_orders, GetLocalizableString(PermissionNames.order_orders));
            context.CreatePermission(PermissionNames.order_order, GetLocalizableString(PermissionNames.order_order));
            context.CreatePermission(PermissionNames.order_refundapplies, GetLocalizableString(PermissionNames.order_refundapplies));
            context.CreatePermission(PermissionNames.order_refundhitories, GetLocalizableString(PermissionNames.order_refundhitories));
            context.CreatePermission(PermissionNames.order_refund, GetLocalizableString(PermissionNames.order_refund));
            context.CreatePermission(PermissionNames.order_treeOrders, GetLocalizableString(PermissionNames.order_treeOrders));
            context.CreatePermission(PermissionNames.business, GetLocalizableString(PermissionNames.business));
            context.CreatePermission(PermissionNames.business_sales, GetLocalizableString(PermissionNames.business_sales));
            context.CreatePermission(PermissionNames.business_refits, GetLocalizableString(PermissionNames.business_refits));
            context.CreatePermission(PermissionNames.business_promotions, GetLocalizableString(PermissionNames.business_promotions));
            context.CreatePermission(PermissionNames.worker, GetLocalizableString(PermissionNames.worker));
            context.CreatePermission(PermissionNames.woker_workers, GetLocalizableString(PermissionNames.woker_workers));
            context.CreatePermission(PermissionNames.advter, GetLocalizableString(PermissionNames.advter));
            context.CreatePermission(PermissionNames.advter_advters, GetLocalizableString(PermissionNames.advter_advters));
            context.CreatePermission(PermissionNames.complain, GetLocalizableString(PermissionNames.complain));
            context.CreatePermission(PermissionNames.complain_complains, GetLocalizableString(PermissionNames.complain_complains));
            context.CreatePermission(PermissionNames.commission, GetLocalizableString(PermissionNames.commission));
            context.CreatePermission(PermissionNames.commission_commissions, GetLocalizableString(PermissionNames.commission_commissions));
            context.CreatePermission(PermissionNames.storeSetting, GetLocalizableString(PermissionNames.storeSetting));
            context.CreatePermission(PermissionNames.storeSetting_storeSettings, GetLocalizableString(PermissionNames.storeSetting_storeSettings));
            context.CreatePermission(PermissionNames.storeSetting_advertSettings, GetLocalizableString(PermissionNames.storeSetting_advertSettings));
            context.CreatePermission(PermissionNames.storeSetting_homeSettings, GetLocalizableString(PermissionNames.storeSetting_homeSettings));
            context.CreatePermission(PermissionNames.storeInfo, GetLocalizableString(PermissionNames.storeInfo));
            context.CreatePermission(PermissionNames.storeInfo_mystore, GetLocalizableString(PermissionNames.storeInfo_mystore));
            context.CreatePermission(PermissionNames.headlines, GetLocalizableString(PermissionNames.headlines));
            context.CreatePermission(PermissionNames.charge, GetLocalizableString(PermissionNames.charge));
            context.CreatePermission(PermissionNames.charge_orders, GetLocalizableString(PermissionNames.charge_orders));
            context.CreatePermission(PermissionNames.charge_walletcharge, GetLocalizableString(PermissionNames.charge_walletcharge));
            context.CreatePermission(PermissionNames.dividend, GetLocalizableString(PermissionNames.dividend));
            context.CreatePermission(PermissionNames.dividend_dividends, GetLocalizableString(PermissionNames.dividend_dividends));
            context.CreatePermission(PermissionNames.article, GetLocalizableString(PermissionNames.article));
            context.CreatePermission(PermissionNames.article_articles, GetLocalizableString(PermissionNames.article_articles));
            context.CreatePermission(PermissionNames.video, GetLocalizableString(PermissionNames.video));
            context.CreatePermission(PermissionNames.video_videos, GetLocalizableString(PermissionNames.video_videos));
            context.CreatePermission(PermissionNames.rule, GetLocalizableString(PermissionNames.rule));
            context.CreatePermission(PermissionNames.rule_pointRules, GetLocalizableString(PermissionNames.rule_pointRules));
            context.CreatePermission(PermissionNames.rule_releasePointRules, GetLocalizableString(PermissionNames.rule_releasePointRules));
            context.CreatePermission(PermissionNames.rule_allUserPoints, GetLocalizableString(PermissionNames.rule_allUserPoints));
            context.CreatePermission(PermissionNames.rule_actives, GetLocalizableString(PermissionNames.rule_actives));
        }

        //返回本地序列化字符串
        private static ILocalizableString GetLocalizableString(string name)
        {
            return new LocalizableString(name, SingleUserMallConsts.LocalizationSourceName);
        }
    }
}
